#include <stdio.h>

int main(){
    int num1 = 100;
    int nums[] = {10, 20, 30};

    printf("&num1 = %p\n", &num1);
    printf("&nums = %p\n", &nums);

    printf("&num1 = %d\n", num1);

    // 使用指针自增自减访问数组时，容易越界，且编译器不报错
    int *ptr1 = nums;
    ptr1 += 3;
    printf("*ptr1 = %d\n", *ptr1);

    // 使用数组指针来访问数组就是为了解决以上问题
    int (*ptr2)[3] = &nums;
    // ptr2 ++; // 这时候指向数组末尾的下一块内存空间
    printf("ptr2 = %d\n",(*ptr2)[0]);
    



    return 0;
}